// const bcrypt = require('bcryptjs')
// const {sequelize} = require("../../core/db")
// const {Sequelize, Model} = require('sequelize')
// const {NotFound, AuthFailed} = require('../../core/httpException')

// class User extends Model {
//   static async verifyEmailPassword (email, plainPassword) {
//     const user = await User.findOne({
//       where:{
//         email
//       }
//     })
//     if (!user) {
//       throw new NotFound('用户不存在')
//     }
//     const correct = bcrypt.compareSync(plainPassword, user.password)
//     if (!correct) {
//       throw new AuthFailed('密码不正确')
//     }
//     return user
//   }
// }

// User.init({
//   id: {
//     type: Sequelize.INTEGER,
//     primaryKey: true, // 主键
//     autoIncrement: true // 自增型
//   },
//   nickname: Sequelize.STRING,
//   email:{
//     type: Sequelize.STRING(128),
//     unique: true //唯一的
//   },
//   password: {
//     type: Sequelize.STRING,
//     set(val) {
//       const salt = bcrypt.genSaltSync(10)
//       const psw = bcrypt.hashSync(val, salt)
//       this.setDataValue('password',psw)
//     }
//   },
//   openid: {
//     type: Sequelize.STRING(64),
//     unique: true
//   },
// },{
//   sequelize,
//   tableName: 'user'  //表名
// })

// module.exports = {User}